package com.wicket.okrapp.integration.dto;

import com.baomidou.mybatisplus.annotation.TableName;
import com.wicket.okrapp.common.dto.BaseDto;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

import java.io.Serializable;
import java.util.Date;
import java.util.HashMap;
import java.util.List;

/**
 * 双高建设任务绩效关系实体类
 *
 * @author CHS
 */
@Data
@Accessors(chain = true)
@EqualsAndHashCode(callSuper = false)
public class OmsDualHighTaskRelationshipReqDto extends BaseDto implements Serializable {
    private static final long serialVersionUID = 1L;

    /**
     * 主键ID
     */
//    @NotNull(message = "relationshipId不能为空")
    @ApiModelProperty("主键ID")
    private String relationshipId;

    /**
     * 双高标准框架数据ID
     */
//    @NotNull(message = "双高标准框架数据ID不能为空")
    @ApiModelProperty("双高标准框架数据ID")
    private String dualHighId;

    /**
     * 双高标准框架数据编号
     */
    @ApiModelProperty("双高标准框架数据编号")
    private String dualHighNo;

    /**
     * 双高标准框架数据名称
     */
    @ApiModelProperty("双高标准框架数据名称")
    private String dualHighName;

    /**
     * 双高标准框架数据层级
     */
    @ApiModelProperty("双高标准框架数据层级")
    private Integer dualHighLevel;

    /**
     * 建设任务ID
     */
    @ApiModelProperty("建设任务ID")
    private String taskId;

    /**
     * 建设任务编号
     */
    @ApiModelProperty("建设任务编号")
    private String taskNo;

    /**
     * 建设任务名称
     */
    @ApiModelProperty("建设任务名称")
    private String taskName;

    /**
     * 建设任务层级
     */
    @ApiModelProperty("建设任务层级")
    private Integer taskLevel;

    /**
     * 绩效指标ID
     */
    @ApiModelProperty("绩效指标ID")
    private String indicatorId;

    /**
     * 绩效指标编号
     */
    @ApiModelProperty("绩效指标编号")
    private String indicatorNo;

    /**
     * 绩效指标名称
     */
    @ApiModelProperty("绩效指标名称")
    private String indicatorName;

    /**
     * 绩效指标层级
     */
    @ApiModelProperty("绩效指标层级")
    private Integer indicatorLevel;

    /**
     * 操作时间
     */
    @ApiModelProperty("操作时间")
    private Date operateTime;

    /**
     * 创建时间
     */
    @ApiModelProperty("创建时间")
    private Date createTime;


    /**
     * 是否作废 TRUE:是 FALSE:否
     */
    @ApiModelProperty("是否作废")
    private String isValid;

    /**
     * 创建于空间ID
     */
    @ApiModelProperty("创建于空间ID")
    private String spaceId;

    /**
     * 创建于联盟应用ID
     */
    @ApiModelProperty("创建于联盟应用ID")
    private String appId;

    /**
     * 关联的目标或指标列表（非数据库字段）
     */
    private List<HashMap<String,String>> relations;
}